﻿// 4071. 国际象棋.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4074/

在一个 8×8
 的国际象棋棋盘上放置着一个车和一个马。

保证这两个棋子之间不能攻击到对方。

现在，要在棋盘的空格上放置另一个马，要求放置完毕后，三个棋子两两之间不得攻击到对方。

请问，共有多少种放置方法。

关于国际象棋行棋规则：

车：横、竖均可以走，步数不受限制，不能斜走。
马：每步棋先横走或竖走一格，然后再往外斜走一格；或者先斜走一格，最后再往外横走或竖走一格（即走“日”字）。可以越子，没有中国象棋中的“蹩马腿”限制。
关于棋盘：8
 行从上到下依次编号为 1∼8
，8
 列从左到右依次编号为 a∼h
，其中的具体方格可用字母加数字来描述，如下图所示。

1.jpg

输入格式
第一行包含一个小写字母（a∼h
）和一个数字（1∼8
），表示车的位置。

第二行包含一个小写字母（a∼h
）和一个数字（1∼8
），表示马的位置。

输出格式
一个整数，表示第二个马的放置方法数量。

数据范围
所有测试点满足，输入车和马不在同一位置，且不会攻击到对方。

输入样例1：
a1
b2
输出样例1：
44
输入样例2：
a8
d4
输出样例2：
38

*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 